﻿/* ******************************************************** */
/* Arcans Project (2010)                                    */
/* Jeu 3D en temps réel par navigateur, conception et       */
/* Développement dans la notice                             */
/* Jeu sous licence GNU GPL v3 (voir NOTICE et COPYING)     */
/* ******************************************************** */

//classe statique de connexion
var bl_connex = {
		
	// méthodes :
	// ouverture de l'encart pour la connexion
	ouverture : function(nomEncart) {
		//alert(nomEncart);
		gestionEncart.ouverture("350px", "Connexion : ", nomEncart);
	},
	// test des éléments de connexion
	testConnect : function() {
		encart.resetAlerte();
		var pseudo = document.getElementById("pseudo").value;
		var pwd = document.getElementById("pwd").value;
		document.getElementById("pwd").value = "";
		if (regval.test(pseudo)) {
			if (regval.test(pwd))
				ajaxFun("acon", 2, new Array(pseudo, hashFun(pwd)),
						bl_connex.resultat);
			else
				encart
						.alerte("erreur",
								"Le mot de passe n'est pas valide ! (erreur dans l'écriture du mot de passe)");
		} else
			encart
					.alerte("erreur",
							"Le pseudonyme n'est pas valide ! (erreur dans l'écriture du pseudonyme)");
	},
	// resultat du test de connection
	resultat : function(result) {
		switch (result) {
		case 0:
			encart.alerte("erreur", "Le mot de passe ne correspond pas.");
			encart
					.alerte(
							"erreur",
							"Si vous avez perdu votre mot de passe, cliquez sur le lien en bas de l'encart.");
			break;
		case 1:
			encart.resetHeader();
			encart.resetAlerte();
			encart.resetTable();
			encart.resetFooter();
			encart
					.alerte("valid",
							"Vous êtes maintenant connecté. La page va se recharger automatiquement.");
			window.setTimeout("encart.fermeture();", 1500);
			window.setTimeout('location.replace("?p=i");', 1800);
			break;
		case 2:
			encart.alerte("erreur", "Vous n'êtes pas inscrit.");
			encart.alerteLien("#", "Pour vous inscrire, cliquez sur ce lien.",
					"javascript:bl_connex.changeIns();");
			break;
		case 3:
			encart.alerte("erreur", "Pseudonyme ou mot de passe erroné.");
			break;
		case 4:
			encart
					.alerte(
							"erreur",
							"Vous avez tenté plus de 10 fois de vous connecter. Vous ne pourrez faire votre prochaine tentative qu'après 24 heures d'attente.");
			encart
					.alerte("erreur",
							"Si vous avez été bloqué par erreur, contactez l'administrateur.");
			break;
		}
	},
	// changement de l'encart pour l'inscription
	changeIns : function() {
		encart.fermeture();
		window.setTimeout("bl_inscrip.ouverture();", 800);
	},
	// changement de l'encart pour l'oubli de mot de passe
	changeFpwd : function() {
		encart.fermeture();
		window.setTimeout("bl_fpwd.ouverture();", 800);
	}
};

// classe statique de renouvellement du mot de passe
var bl_fpwd = {
	// méthodes
	// ouverture de l'encart pour la récupération du mot de passe
	ouverture : function(nomEncart) {
		var encart = new EncartClass(nomEncart);
		encart.ouverture("400px", "Oubli du mot de passe : ");
	},
	/*ouverture_old : function() {
		encart.ouverture("400px", "Oubli du mot de passe : ");
		encart
				.addHeadPara("Veuillez rentrer votre adresse électronique pour confirmer. Vérifiez que le courrier envoyé n'est pas parmi les spam.");
		encart
				.addHeadPara("Un mot de passe aléatoire vous sera fourni par courrier électronique à l'issue de la validation. Vous pourrez le modifier dans vos paramètres de compte.");
		encart.addLigne("pseudo", "Pseudonyme : ", "text", "", "");
		encart.addLigne("email", "Adresse électronique : ", "text", "", "");
		encart.addFootBouton("Valider", "javascript:bl_fpwd.fpwdValid();");
		encart.addFootBouton("Annuler", "javascript:bl_fpwd.returnCon();");
	},*/
	// validation de la récupération du mot de passe
	fpwdValid : function() {
		encart.resetAlerte();
		var pseudo = document.getElementById("pseudo").value;
		var email = document.getElementById("email").value;
		if (regval.test(pseudo)) {
			if (regemail.test(email))
				ajaxFun("afpwd", 2, new Array(pseudo, email),
						bl_fpwd.fpwdResult);
			else
				encart.alerte("erreur",
						"L'adresse électronique n'est pas valide !");
		} else
			encart.alerte("erreur", "Le pseudonyme est invalide !");
	},
	// Affichage du résultat de la récupération du mot de passe
	fpwdResult : function(res) {
		if (res == "1") {
			encart.resetHeader();
			encart.resetTable();
			encart.resetFooter();
			encart
					.alerte(
							"valid",
							"Votre mot de passe a bien été modifié. Un mail de rappel va vous être envoyé, contenant le nouveau mot de passe, généré aléatoirement.");
			window.setTimeout("encart.fermeture();", 2300);
		} else if (res == "2")
			encart.alerte("erreur", "Le pseudonyme est erroné.");
		else if (res == "3")
			encart.alerte("erreur", "L'adresse électronique est erronée.");
		else
			encart
					.alerte(
							"erreur",
							"Vos informations n'ont pu être validées. $etes-vous bien inscrit ? Si vous n'avez pas confirmé votre inscription via le courrier électronique, vous ne pouvez pas obtenir un nouveau mot de passe.");
	},
	// changement de l'encart pour la connexion
	returnCon : function() {
		encart.fermeture();
		window.setTimeout("bl_connex.ouverture();", 800);
	}
};

// classe statique d'inscription
var bl_inscrip = {
	// méthodes :
	// ouverture de l'encart d'inscription
	ouverture : function(nomEncart) {
		//alert(nomEncart);
		gestionEncart.ouverture("400px", "Inscription : ", nomEncart);
		/*var encart = new EncartClass(nomEncart);
		encart.ouverture("400px", "Inscription : ");*/
	},
	// vérification du pseudo, et validation de l'inscription
	insValid : function(level) {
		encart.resetAlerte();
		var pseudo = document.getElementById("pseudo").value;
		if (regval.test(pseudo)) {
			if (level == 1)
				ajaxFun("ains", 1, new Array(pseudo), bl_inscrip.resultatPseudo);
			else if (level == 2) {
				var email = document.getElementById("email").value;
				if (regemail.test(email))
					ajaxFun("ains2", 2, new Array(pseudo, email),
							bl_inscrip.resultatIns);
				else
					encart.alerte("erreur",
							"L'adresse électronique n'est pas valide.");
			}
		} else
			encart
					.alerte(
							"erreur",
							"Le pseudonyme doit contenir au moins trois caractères alphanumériques, et doit commencer par une lettre.");
	},
	// Affichage du résultat de vérification du pseudonyme
	resultatPseudo : function(res) {
		if (res == 0)
			encart
					.alerte("valid",
							"Vérification du pseudonyme terminée, pseudonyme disponible.");
		else if (res == 2)
			encart.alerte("erreur", "Le pseudonyme est erroné.");
		else
			encart.alerte("erreur", "Le Pseudonyme est déjà utilisé.");
	},
	// Affichage du résultat de l'inscription
	resultatIns : function(res) {
		if (res == 0) {
			encart.resetHeader();
			encart.resetTable();
			encart.resetFooter();
			encart
					.alerte(
							"valid",
							"Enregistrement réussi. Vous allez maintenant recevoir un courrier électronique de validation à l'adresse électronique que vous avez spécifié.");
			window.setTimeout("encart.fermeture();", 1900);
			window.setTimeout("location.reload();", 2200);
		} else if (res == 2)
			encart.alerte("erreur", "Le pseudonyme est erroné.");
		else if (res == 3)
			encart.alerte("erreur", "L'adresse électronique est erronée.");
		else
			encart.alerte("erreur", "Le pseudonyme est déjà utilisé.");
	},
	// changement de l'encart pour le renvoi du mail d'inscription
	changeErrmail : function() {
		encart.fermeture();
		window.setTimeout("bl_errmail.ouverture();", 800);
	}
};

// classe statique de renvoi du mail d'inscription
var bl_errmail = {
	// méthodes
	// ouverture de l'encart de renvoi du mail d'inscription
	ouverture : function() {
		encart.ouverture("400px", "Inscription : renvoi du courrier");
		encart
				.addHeadPara("Cet encart va vous permettre de générer un nouveau courrier électronique avec vos informations de connexion. Le mot de passe a de nouveau été généré aléatoirement.");
		encart
				.addHeadPara("Il est possible que le courrier soit rangé parmi les spams. Si vous ne recevez toujours pas vos informations de connexion, contactez l'administrateur du site.");
		encart.addLigne("pseudo", "Pseudonyme : ", "text", "", "");
		encart.addLigne("email", "Adresse électronique : ", "text", "", "");
		encart.addFootBouton("Renvoi du courrier",
				"javascript:bl_errmail.errmailValid();");
		encart.addFootBouton("Annuler", "javascript:bl_errmail.changeIns();");
	},
	// validation du renvoi du mail d'inscription
	errmailValid : function() {
		encart.resetAlerte();
		var pseudo = document.getElementById("pseudo").value;
		var email = document.getElementById("email").value;
		if (regval.test(pseudo)) {
			if (regemail.test(email))
				ajaxFun("aerrmail", 2, new Array(pseudo, email),
						bl_errmail.result);
			else
				encart
						.alerte(
								"erreur",
								"L'adresse électronique n'est pas valide ! (erreur dans l'écriture de l'adresse)");
		} else
			encart
					.alerte("erreur",
							"Le pseudonyme n'est pas valide ! (erreur dans l'écriture du pseudonyme)");
	},
	// Affichage du résultat du renvoi du mail d'inscription
	result : function(res) {
		if (res == 1) {
			encart.resetHeader();
			encart.resetTable();
			encart.resetFooter();
			encart
					.alerte(
							"valid",
							"Le courrier électronique a bien été renvoyé, avec un nouveau mot de passe généré aléatoirement. Si vous ne le recevez toujours pas, contactez l'administrateur du site.");
			window.setTimeout("encart.fermeture();", 2200);
		} else if (res == 2) {
			encart
					.alerte(
							"erreur",
							"Vous avez déjà validé votre inscription. Utilisez la récupération du mot de passe si vous avez oubliez ce dernier");
			encart.alerteLien("#",
					"Lien direct vers la récupération du mot de passe",
					"javascript:bl_errmail.changeFpwd();");
		} else if (res == 0)
			encart
					.alerte("erreur",
							"Le pseudonyme ne correspond pas à l'adresse électronique.");
		else if (res == 3)
			encart.alerte("erreur", "Le pseudonyme est erroné.");
		else if (res == 4)
			encart.alerte("erreur", "L'adresse électronique est erronée.");
		else
			encart
					.alerte(
							"erreur",
							"Le pseudonyme n'est pas enregistré. Verifiez que le pseudonyme est bien celui que vous avez rentré lors de l'inscription.");
	},
	// changement de l'encart pour la récupération du mot de passe
	changefpwd : function() {
		encart.fermeture();
		window.setTimeout("bl_fpwd.ouverture();", 800);
	},
	// changement de l'encart pour l'inscription
	changeIns : function() {
		encart.fermeture();
		window.setTimeout("bl_inscrip.ouverture();", 800);
	}
};